package com.bbva.recaudos.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import com.bbva.recaudos.bean.Convenio;
import com.bbva.recaudos.bean.Empresa;
import com.bbva.recaudos.bean.RegistroIntercnx;
import com.bbva.recaudos.service.HubIntercnxService;
import com.bbva.recaudos.service.HubIntercnxServiceImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;


public class ActionRecaudos extends ActionSupport
{
	
	// assumes the current class is called logger
	private final static Logger LOGGER = Logger.getLogger(ActionRecaudos.class.getName());
	
	private HubIntercnxService service = new HubIntercnxServiceImpl();
	private RegistroIntercnx beanRegistro;
	private List<RegistroIntercnx> listRegsIntercnx = new ArrayList<RegistroIntercnx>();
	private List<Empresa> listEmpresas = new ArrayList<Empresa>();
	private List<Convenio> listConvenios = new ArrayList<Convenio>();
	private int idEmpresaSeleccionada;
	
	public HubIntercnxService getService() {
		return service;
	}

	public void setService(HubIntercnxService service) {
		this.service = service;
	}

	public RegistroIntercnx getBeanRegistro() {
		return beanRegistro;
	}

	public void setBeanRegistro(RegistroIntercnx beanRegistro) {
		this.beanRegistro = beanRegistro;
	}

	public List<RegistroIntercnx> getListRegsIntercnx() {
		return listRegsIntercnx;
	}

	public void setListRegsIntercnx(List<RegistroIntercnx> listRegsIntercnx) {
		this.listRegsIntercnx = listRegsIntercnx;
	}
	
	public List<Empresa> getListEmpresas() {
		return listEmpresas;
	}

	public void setListEmpresas(List<Empresa> listEmpresas) {
		this.listEmpresas = listEmpresas;
	}
	
	public List<Convenio> getListConvenios() {
		return listConvenios;
	}

	public void setListConvenios(List<Convenio> listConvenios) {
		this.listConvenios = listConvenios;
	}

	public int getIdEmpresaSeleccionada() {
		return idEmpresaSeleccionada;
	}

	public void setIdEmpresaSeleccionada(int idEmpresaSeleccionada) {
		this.idEmpresaSeleccionada = idEmpresaSeleccionada;
	}
	
	
	
	// ***************
	// Struts methods
	// ***************
	
	public String listar()
	{
		try
		{
			listRegsIntercnx = service.getRegistros();
			listEmpresas = service.getEmpresas();
			Map<String, Object> lasesion = ActionContext.getContext().getSession();
			lasesion.put("listRegsIntercnx", listRegsIntercnx);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return SUCCESS;
	}
	
	public String cargarSelectConvenios()
	{
		LOGGER.info("INI cargarSelectConvenios");
		LOGGER.debug("getIdEmpresaSeleccionada: [" + getIdEmpresaSeleccionada() +"]");
		try
		{
			listConvenios = service.getConveniosXEmpresa(getIdEmpresaSeleccionada());
			LOGGER.debug("nro Convenios: [" + listConvenios.size() +"]");
			Map<String, Object> lasesion = ActionContext.getContext().getSession();
			lasesion.put("listRegsIntercnx", listRegsIntercnx);
		} catch (Exception ex) {
			LOGGER.error("error : [" + ex.getMessage() + "]");
		}
		LOGGER.info("END cargarSelectConvenios");
		return SUCCESS;
	}

	
}
